#pragma once
#include "TFGenerator.h"
#include "Regressor.h"
#include "MREAgent.h"

class SimpleTFGeneralizer :
	public TFGenerator
{
public:
	virtual ~SimpleTFGeneralizer(void);

	SimpleTFGeneralizer(MREAgent* p, int an, int od, taskspec_t& spec)
		:TFGenerator(p,an,od,spec){}; //any class deriving this is responsible to create individual learners for each dimension
	virtual void learn(const Transition* t); 
	virtual Observation predict(Observation st, Action a); 
	virtual void batchLearn( list<Transition>& history); 
	virtual double getConfidence(Observation st, Action a); 


public:
	list<Observation> dataPoints; 
	Regressor*** learners; 
};
